"""
packages(包)
包是一种用“点式模块名”构造模块名空间的方法，例如模块名A.B表示包A中名为B的子模块
正如模块可以区分不同模块之间的全局变量名称一样，点式模块名可以区分Numpy和Pillow等不同模块包之间的模块名称

Python只会把__init__.py文件的目录当成包，这样可以防止以string等通用名称命名的目录，无意中屏蔽出现在后方
模块搜索路径中的有效模块；
最简单情况下，__init__.py只是一个空文件，但该文件也可以执行包的初始化代码，或设置__all__变量

参考文档：https://docs.python.org/zh-cn/3/tutorial/modules.html#packages
"""

# 必须包含一个__init__.py文件

# 从包中导入单个模块
# import sound.effects.echo
# 加载子模块sound.effects.echo,但是引用的时候必须使用子模块的全名，sound.effects.echo.echofilter(input, ouput, delay=0.7)

# 另一种导入子模块的方式为
# from sounds.effects import echo, 这种方式可以不加前缀

# 子包参考
# 当包中还有多个子包的时候，可以使用绝对导入引用兄弟包中的子模块
# from . import echo
# from .. import formats
# from ..filters import equalizer